Nuxt x IE11でランタイムエラーが発生する
事象
Nuxtアプリを表示しているIE11で次のようなランタイムエラーが発生した。
Unhandled promise rejection TypeError: strict モードでは、読み取り専用プロパティに代入できません
スタックトレースを見ると、module.exports = xxx としているライブラリのmodule.exportsへの代入がエラーになっているようでした。
原因
たぶん?CommonJSのモジュール解決が良さげにできてないのが原因かなと思います。
解決
自力でなんとかしようとしたが、どーしようもなかった。全然動かん。
Issueめぐりしていたら次のIssueを見つけた。
Nuxt is throwing Uncaught ReferenceError: exports is not defined on transpiling an es6 library #6659
https://github.com/nuxt/nuxt.js/issues/6659#issuecomment-552447530
このIssueのコメントの通り、babelの設定をつかしたら動作しました。
code:nuxt.config.js
build: {
babel: {
sourceType: 'unambiguous',
presets({ isServer }) {
const targets = isServer ? { node: 'current' } : { ie: 11 };
return require.resolve('@nuxt/babel-preset-app'), { targets };
},
},
transpile: 'bip39',
},
#nuxt #ie11
Created by tamuraryoya